﻿
namespace Independ.Tests.Fakes
{
    interface IChildMock
    {
        IEmptyClassMock Dependency { get; set; }
    }

    class ChildMock : IChildMock
    {
        public ChildMock(IEmptyClassMock dependency)
        {
            Dependency = dependency;
        }

        public IEmptyClassMock Dependency { get; set; }
    }

    class ChildMockWithDependencyAttribute
    {
        [Dependency]
        public IEmptyClassMock Dependency { get; set; }
    }

    class ParentMock
    {
        public ParentMock(ChildMock dependency)
        {
            Dependency = dependency;
        }

        public ChildMock Dependency { get; set; }
    }

    class ParentInterfaceMock
    {
        public ParentInterfaceMock(IChildMock dependency)
        {
            Dependency = dependency;
        }

        public IChildMock Dependency { get; set; }
    }
}
